#ifndef FederateAmbassador_H_
#define FederateAmbassador_H_

#pragma warning(disable: 4251)
#pragma warning(disable: 4786)
#pragma warning(disable: 4290)

#include <string>
#include <map>

class DtTalkAmbData
{
public:
	bool myNameReservationReturned;
	bool myNameReservationSucceeded;
};

class FederateAmbassador
{
public:
	FederateAmbassador(void);

	virtual ~FederateAmbassador() throw ();

	// 6.3
	virtual	void objectInstanceNameReservationSucceeded(std::wstring const & theObjectInstanceName);

	virtual	void objectInstanceNameReservationFailed(std::wstring const &theObjectInstanceName);

	// 6.5
	virtual void discoverObjectInstance (std::wstring const & theObjectInstanceName);

	// 6.7
	virtual	void reflectAttributeValues(std::wstring const & theObjectInstanceName);


	virtual	void receiveInteraction();

	// 6.11
	virtual	void removeObjectInstance();


};

#endif
